/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ws;

import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Version;

/**
 *
 * @author André
 */
@Entity
@Table(name = "tcotacao_preco_mercadorias", schema = "compras")
public class CotacaoPrecoMercadorias implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "tcotacao_preco_fpk")
    private Integer tcotacaoPrecoFpk;
    @Id
    @Column(name = "tsequencia_pk", nullable = false)
    private Integer tsequenciaPk;
    @Column(name = "tcodigo_mercadoria_fk", nullable = false)
    private Integer tcodigoMercadoriaFk;
    @Column(name = "tcodigo_fornecedor_fk", nullable = false)
    private Integer tcodigoFornecedorFk;
    @Column(name = "tpreco_cotacao", nullable = false, precision = 16, scale = 2)
    private BigDecimal tprecoCotacao;
    @Column(name = "tultimo_preco_cotado", nullable = false, precision = 16, scale = 2)
    private BigDecimal tultimoPrecoCotado;
    @Column(name = "tqtde_merc", nullable = false)
    private Integer tqtdeMerc;
    @Column(name = "tdata_cotacao", nullable = false)
    private String tdataCotacao;
    @Column(name = "tnome_mercadoria", nullable = false, length = 50)
    private String tnomeMercadoria;
    @Column(name = "tnome_fornecedor", nullable = false, length = 50)
    private String tnomeFornecedor;
    @JoinColumn(name = "tcotacao_preco_fpk", referencedColumnName = "tcodigo_pk", nullable = false, insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private CotacaoPreco cotacaoPreco;
    @Version
    private Long version;

    public CotacaoPrecoMercadorias() {
        //Por não conseguir tratar NULL no BPEL, todos os campos que puderem ser NULL devem ser preenchidos com -1 se forem Númericos e com "" se forem Strings
        this.tcotacaoPrecoFpk = -1;
        this.tsequenciaPk = -1;
        this.tcodigoFornecedorFk = -1;
        this.tcodigoMercadoriaFk = -1;
        this.tprecoCotacao = new BigDecimal(-1);
        this.tultimoPrecoCotado = new BigDecimal(-1);
        this.tqtdeMerc = -1;
        this.tdataCotacao = "";
        this.tnomeFornecedor = "";
        this.tnomeMercadoria = "";
    }

    public CotacaoPreco getCotacaoPreco() {
        return cotacaoPreco;
    }

    public void setCotacaoPreco(CotacaoPreco cotacaoPreco) {
        this.cotacaoPreco = cotacaoPreco;
    }

    public Integer getTcodigo_fornecedor_fk() {
        return tcodigoFornecedorFk;
    }

    public void setTcodigo_fornecedor_fk(Integer tcodigo_fornecedor_fk) {
        this.tcodigoFornecedorFk = tcodigo_fornecedor_fk;
    }

    public Integer getTcodigo_mercadoria_fk() {
        return tcodigoMercadoriaFk;
    }

    public void setTcodigo_mercadoria_fk(Integer tcodigo_mercadoria_fk) {
        this.tcodigoMercadoriaFk = tcodigo_mercadoria_fk;
    }

    public Integer getTcotacao_preco_fpk() {
        return tcotacaoPrecoFpk;
    }

    public void setTcotacao_preco_fpk(Integer tcotacao_preco_fpk) {
        this.tcotacaoPrecoFpk = tcotacao_preco_fpk;
    }

    public String getTdata_cotacao() {
        return tdataCotacao;
    }

    public void setTdata_cotacao(String tdata_cotacao) {
        this.tdataCotacao = tdata_cotacao;
    }

    public String getTnome_fornecedor() {
        return tnomeFornecedor;
    }

    public void setTnome_fornecedor(String tnome_fornecedor) {
        this.tnomeFornecedor = tnome_fornecedor;
    }

    public String getTnome_mercadoria() {
        return tnomeMercadoria;
    }

    public void setTnome_mercadoria(String tnome_mercadoria) {
        this.tnomeMercadoria = tnome_mercadoria;
    }

    public BigDecimal getTpreco_cotacao() {
        return tprecoCotacao;
    }

    public void setTpreco_cotacao(BigDecimal tpreco_cotacao) {
        this.tprecoCotacao = tpreco_cotacao;
    }

    public Integer getTqtde_merc() {
        return tqtdeMerc;
    }

    public void setTqtde_merc(Integer tqtde_merc) {
        this.tqtdeMerc = tqtde_merc;
    }

    public Integer getTsequencia_pk() {
        return tsequenciaPk;
    }

    public void setTsequencia_pk(Integer tsequencia_pk) {
        this.tsequenciaPk = tsequencia_pk;
    }

    public BigDecimal getTultimo_preco_cotado() {
        return tultimoPrecoCotado;
    }

    public void setTultimo_preco_cotado(BigDecimal tultimo_preco_cotado) {
        this.tultimoPrecoCotado = tultimo_preco_cotado;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "bean.CotacaoPrecoMercadoriasPK[tcotacaoPrecoFpk=" + tcotacaoPrecoFpk + ", tsequenciaPk=" + tsequenciaPk + "]";
    }
}
